﻿@model CreateTaskVM
@using System.Data.Entity;
 
@{
    ViewBag.Title = "ผลการส่งขออนุมัติ";
    var context = new GERPContext(true, null);
    var appPrc = context.ApproveProcesses.Include(o=>o.ApproveProcessGroup).First(o => o.AppPrcId == Model.AppPrcId);
    Model.CreateByEmployee = context.Employees.FirstOrDefault(o=>o.EmpId==Model.CreateByEmpId);
    Model.ApplyToEmployee = context.Employees.FirstOrDefault(o=>o.EmpId==Model.ApplyToEmpId);
    var task = context.Tasks
        .Include(o => o.TaskHistories)
        .Include(o => o.Simulates)
        //.Include(o => o.CurrentTaskHistory.ApproverPosition)
        .FirstOrDefault(o => o.TaskId == Model.TaskId);
    var poses = context.Positions.ToList();
    if (task != null && task.Simulates != null && task.Simulates.Any())
    {
        foreach (var sim1 in task.Simulates)
        {
            sim1.ApproverPosition = poses.FirstOrDefault(o => o.PosId == sim1.ApproverPosId);
        }
    }
}

@if(!string.IsNullOrWhiteSpace(Model.CreateErrorResult))
{
    <div class="alert alert-error">
	    <button type="button" class="close" data-dismiss="alert">
		    <i class="icon-remove"></i>
	    </button>
	    <strong>ผลการสร้างคำขออนุมัติ เกิดข้อผิดพลาดในกระบวนการ!</strong>

	    @Html.Raw((Model.CreateErrorResult ?? "").Replace("\r\n", "</br>"))<br/>
    </div>
} else if(task != null && appPrc != null)
{
    <div class="alert alert-success">
        <button type="button" class="close" data-dismiss="alert"><i class="icon-remove"></i></button>
        <i  class="icon-ok green"></i>
        <strong>ผลการสร้างคำขออนุมัติ สร้างขึ้นแล้วเรียบร้อย อยู่ระหว่างรออนุมัติ (รหัสคำขอคือ @task.Code)</strong>
        @Html.Raw((Model.CreateResult ?? "").Replace("\r\n", "</br>"))<br/>
    </div>
     
    <div class="widget-box">
        <div class="widget-header widget-header-flat widget-header-small"><h5><i class="icon-envelope"></i>รายละเอียดคำขอ</h5></div>
        <div class="widget-body">
            <div class="widget-main">
                <b>รหัสคำขอ</b>: <span style="color:blue">@task.Code</span><br />
                
                    <b>รหัสอ้างอิงที่เกี่ยวข้อง</b>: <span style="color:blue">
    @Model.RefCode
</span>
                <br />

                <b>ระบบของคำขออนุมัติคือ</b>: @appPrc.ApproveProcessGroup.Name - @appPrc.Name <br />

                <b>ชื่อเรื่อง</b>: @Html.Raw((Model.Title ?? "").Replace("\r\n", "</br>"))<br />
                
                <b>รายละเอียด</b>: @Html.Raw((Model.Remark ?? "").Replace("\r\n", "</br>"))<br />

                <b>ผู้ขอ</b>: @Html.DisplayFor(model => model.ApplyToEmployee.FullName)<br />

                <b>หน่วยงาน</b>: @Html.DisplayFor(model => model.ApplyToEmployee.JobSite.Name) <br />

                <b>วงเงิน</b>: @task.Amount<br />


                <b>ส่งคำขอเมื่อ</b>: @Html.Raw(task.CreatedWhen.HasValue ? task.CreatedWhen.Value.ToString("dd MMMM yyyy เวลา hh:mm น.") : "") <br/>
                
                <b>ผลการส่งขออนุมัติ</b>:<span style="color:blue">
                                             @if (!string.IsNullOrWhiteSpace(Model.CreateErrorResult))
                                             {
                                                 @: ไม่สำเร็จ - @Model.CreateErrorResult.Replace("\r\n", "</br>"))
                                             }
                                             else
                                             {
                                                 @: ปกติ
                                             }
                                         </span>
            <br />
</div><!--/widget-main-->
		</div><!--/widget-body-->
	</div><br/>
    
    <div class="widget-box">
		<div class="widget-header widget-header-flat widget-header-small"><h5>รายละเอียดผู้อนุมัติ</h5></div>
		<div class="widget-body">
            <div class="widget-main">
                <b>ผู้ทำคำขอ</b>:
                @if(Model.CreateByEmployee != null && Model.CreateByEmployee.Position != null)
                {
    @:@Model.CreateByEmployee.Position.PosNo - @Model.CreateByEmployee.Position.Name [@Model.CreateByEmployee.FullName]
                }
                <br/>
        

                @if (Model.CreateByEmpId != Model.ApplyToEmpId)
                { 
                    @:<b>ผู้ถูกคำขอ</b>: 
                    if(Model.ApplyToEmployee != null && Model.ApplyToEmployee.Position != null )
                    {
    @:@Model.ApplyToEmployee.Position.PosNo - @Model.ApplyToEmployee.Position.Name [@Model.ApplyToEmployee.FullName]
                    } 
                    <br/>
                }

                <b>ผู้อนุมัติตามสายบังคับบัญชาในขั้นตอนปัจจุบัน</b>: 
                @if (task.CurrentTaskHistory != null)
                {
                    Employee empTemp = context.Employees.Include(o => o.Position).FirstOrDefault(o => o.PosId == task.CurrentTaskHistory.ApproverPosId);
                    if (empTemp != null)
                    {
    @:@empTemp.Position.PosNo - @empTemp.Position.Name [@empTemp.FullName]
                    }
                }<br/>

                <span style="color:blue">
                    <b>ผู้มีสิทธิ์อนุมัติ</b>:
                    @if (task.Simulates != null && task.Simulates.LastOrDefault(o => o.IsApproveAble) != null)
                    {

                        var posId = task.Simulates.Last(o => o.IsApproveAble).ApproverPosId;

                        Employee empTemp = context.Employees.Include(o => o.Position).First(o => o.PosId == posId);
                        if (empTemp != null)
                        {
                            @:@empTemp.Position.PosNo - @empTemp.Position.Name [@empTemp.FullName]
                    }
                    }
                    </span>
</div><!--/widget-main-->
		</div><!--/widget-body-->
	</div><br/>
     
    ViewBag.appPrc = appPrc;
    ViewBag.refId = Model.RefId;
    ViewBag.Related = 1;
@Html.Partial("~/Views/Task/_GetViewBagUrl.cshtml")
 
    string url = ViewBag.Url ?? ViewBag.Url1; 
    
    <p>
        <a role="button" href="@Url.Action("Details", "Task", new{ id = task.TaskId })" class="btn btn-small btn-success">
            ไปยังหน้างานคำขอของฉัน
        </a>
        <a role="button" href="@url" class="btn btn-small btn-warning">
            ไปหน้า @task.RefCode
        </a>
        <a role="button" href="@Url.Action("Index", "Home")" class="btn btn-small">กลับสู่หน้าหลัก</a>
    </p> 
    
    @Html.Partial("~/Views/Task/_RelatedPageFrame.cshtml", new Dictionary<string, int> { { "AppPrcId", Model.AppPrcId }, { "RefId", Model.RefId }, { "Related", 1 } })
    
@section scripts
{
    <script>
        $(function() {
            var lastHeight1 = 0, curHeight1 = 0, $frame1 = $('#iframe1');
            setInterval(function() {
                curHeight1 = $frame1.contents().find('body').height() + 40;
                if (curHeight1 != lastHeight1) {
                    $frame1.css('height', (lastHeight1 = curHeight1) + 'px');
                }
            }, 500);
        });

        $("form").not("#formsearch").submit(function (e) {
            e.preventDefault();
            var currentForm = this;
            bootbox.confirm("ท่านต้องการยืนยัน ใช่หรือไม่", function (result) {
                if (result) {
                    currentForm.submit();
                }
            });
        });
    </script>
}

} else
{
    @:คำขอถูกสร้างขึ้นสำเร็จ แต่ไม่สามารถโหลดข้อมูลคำขอได้ (TaskId = @Model.TaskId)
}